package br.com.imob.bo;

import java.util.List;


import br.com.imob.dao.CategoriaDao;
import br.com.imob.dao.ClienteDao;
import br.com.imob.modelo.Categoria;
import br.com.imob.modelo.Cliente;
import br.com.imob.modelo.Contato;
import br.com.imob.modelo.Endereco;
import br.com.imob.modelo.Finalidade;
import br.com.imob.modelo.Login;
import br.com.imob.modelo.Origem;
import br.com.imob.modelo.Pessoa;
import br.com.imob.util.FacesUtil;

public class ClienteSisBO extends GenericCrudBO<Cliente> {

	private Cliente cliente = new Cliente();
	private ClienteDao clienteDao = new ClienteDao();
	private Pessoa pessoa = new Pessoa();
	private Origem origem = new Origem();
	private Login login = new Login();
	private Endereco endereco = new Endereco();
	private Contato contato = new Contato();
	private Finalidade finalidade = new Finalidade();
	private Categoria categoria = new Categoria();
	private CategoriaDao categoriaDao = new CategoriaDao();
		
	public ClienteSisBO() {
		this.exibirTodosRegistrosAoPesquisar = true;
		try {
			limparDadosForm();
		} catch (Exception e) {
			e.printStackTrace();
			FacesUtil.adicionarMensagemErro(e.getMessage());
		}
	}
	
	@Override
	public void alterarImpl() throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void excluirImpl() throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void incluirImpl() throws Exception {
	
//		clienteDao = new ClienteDao();
//		cliente.setPessoa(pessoa);
//		cliente.setFinalidade(finalidade);
		
//		clienteDao.adicionarCliente(cliente);
		
	}

	@Override
	public void pesquisarImpl() throws Exception {
		// TODO Auto-generated method stub
		
	}

	
	//geters e seters
	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public ClienteDao getClienteDao() {
		return clienteDao;
	}

	public void setClienteDao(ClienteDao clienteDao) {
		this.clienteDao = clienteDao;
	}

	public Pessoa getPessoa() {
		return pessoa;
	}

	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}
	
	public Origem getOrigem() {
		return origem;
	}

	public void setOrigem(Origem origem) {
		this.origem = origem;
	}

	public Login getLogin() {
		return login;
	}

	public void setLogin(Login login) {
		this.login = login;
	}

	public Endereco getEndereco() {
		return endereco;
	}

	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}

	public Contato getContato() {
		return contato;
	}

	public void setContato(Contato contato) {
		this.contato = contato;
	}

	public Finalidade getFinalidade() {
		return finalidade;
	}

	public void setFinalidade(Finalidade finalidade) {
		this.finalidade = finalidade;
	}

	public Categoria getCategoria() {
		return categoria;
	}

	public void setCategoria(Categoria categoria) {
		this.categoria = categoria;
	}

	public CategoriaDao getCategoriaDao() {
		return categoriaDao;
	}

	public void setCategoriaDao(CategoriaDao categoriaDao) {
		this.categoriaDao = categoriaDao;
	}

	public List<Categoria> getCategorias() {
		categoriaDao = new CategoriaDao();
		return categoriaDao.getCategorias();
		
	}

	@Override
	public void validarCampos(Cliente cliente) throws Exception {
		// TODO Auto-generated method stub
		
	}

}
